﻿using EntGuayasSLA.BL;
using EntGuayasSLA.BL.Listas;
using Ext.Net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace EGuayas.Web.Licenciamiento.admin.tabs
{
    public partial class wucObligaciones : ucWuc
    {
        protected String PageId
        {
            get
            {
              
                return ReadCustomConfigPage(this.pnlObligaciones, this.ID);
            }

        } 
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                    if (!X.IsAjaxRequest)
                    {
                        //if (GetSessionUsuario.UsuarioRolCodigo != Valores.Codigo_Rol_Promotor)
                        //{
                            EnabledBtnNuevoObligacion();
                  
                            BindDataObligaciones();
                        //}
                    }
            }
            catch (Exception ex)
            {
                RegistrarLog("wucObligaciones.Page_Load" + ex);
            }
        }

        private void EnabledBtnNuevoObligacion()
        {try
        {
            var expLicId = GetSessionPage.ExpedienteLic(PageId);
            if (expLicId != "")
            {
                this.btnForm.Enable();
            }
            else
            {
                this.btnForm.Disable();
            }
        }
        catch (Exception ex)
        {
            RegistrarLog("wucObligaciones." + ex);
        }
        }

       
        #region Obligaciones
        [DirectMethod]
        private void BindDataObligaciones()
        {
            try
            {
                var expId = GetSessionPage.ExpedienteId(PageId);
                if (expId != "")
                {
                    this.stoObliga.DataSource = ObligacionLista.GetObligacionLista(expId);
                    this.stoObliga.DataBind();
                }
             }
            catch (Exception ex)
            {
                RegistrarLog("wucObligaciones.BindDataObligaciones " + ex);
            }
        }
        /// <summary>
        /// Elimnar item de tarea
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnEliminar_Click(object sender, DirectEventArgs e)
        {
            try
            {
                var id = Guid.Parse(e.ExtraParams["hddDelId"]);
                Obligaciones objObli = Obligaciones.GetEditableRoot(id);
                objObli.Delete();
                objObli.Save();

                BindDataObligaciones();
               

            }
            catch (Exception ex)
            {
                RegistrarLog("wucObligaciones.btnEliminar_Click " + ex);
            }


        }
        /// <summary>
        /// Crear/Modificar tareas
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnGuardar_Click(object sender, DirectEventArgs e)
        {
            try
            {
                Obligaciones objObliga = Obligaciones.NewEditableRoot();
                string msgOperacion = "";
                if (e.ExtraParams["hddId"] == "")
                {
                    msgOperacion = "creada";
                    objObliga.Id = System.Guid.NewGuid();
                    objObliga.Expediente = GetSessionPage.ExpedienteId(PageId);
                }
                else
                {
                    msgOperacion = "modificada";
                    objObliga = Obligaciones.GetEditableRoot(Guid.Parse(e.ExtraParams["hddId"]));
                    //objObliga.Fecha = Convert.ToDateTime(e.ExtraParams["dfFechaInicio"]);
                }
                objObliga.Nombre = e.ExtraParams["txtAsunto"];
                objObliga.Save();

                BindDataObligaciones();
                X.Msg.Show(new MessageBoxConfig
                {
                        Buttons = MessageBox.Button.OK,
                        Icon = MessageBox.Icon.INFO,
                        Title = "Estado",
                        Message = string.Format("{0} <b>{1}</b> {2}", "Obligaciones", objObliga.Nombre, msgOperacion)
                });
                

            }
            catch (Exception ex)
            {
                RegistrarLog("wucObligaciones.btnGuardar_Click " + ex);
            }
        }
        #endregion
    }
}